'''
* This is the projet for Brtc LlmOps Platform
* @Author Leon-liao <liaosiliang@alltman.com>
* @Description //TODO 
* @File: 1_base_use_of_prompt.py
* @Time: 2025/10/22
* @All Rights Reserve By Brtc
'''
from datetime import datetime

from langchain_core.messages import AIMessage
from langchain_core.prompts import PromptTemplate, ChatPromptTemplate, MessagesPlaceholder, HumanMessagePromptTemplate

prompt = PromptTemplate.from_template("请讲一个关于{subject}的冷笑话！")
prompt_value = prompt.invoke({"subject":"程序员"})

print("--------to_string--------")
print(prompt_value.to_string())
print("--------to_message--------")
print(prompt_value.to_messages())
print("--------format--------")
print(prompt.format(subject="喜剧演员"))

print("chat_prompt 的使用")
chat_prompt = ChatPromptTemplate.from_messages([
    ("system", "你是OpenAI研发的聊天机器人, 请根据用户的提问进行回复,当前的事件是:{now}"),
    MessagesPlaceholder("ChatHistory"),
    HumanMessagePromptTemplate.from_template("请讲一个关于{subject}的冷笑话！")
]).partial(now = datetime.now())


chat_prompt_value = chat_prompt.invoke({
    "ChatHistory":[("human", "你叫什么？"),AIMessage("你好我是廖老师！")],
    "subject":"程序员"
})




print("打印一下chat_prompt_value看看")
print(f"chat_prompt_value:{chat_prompt_value}")
print("====================================================================")
print(chat_prompt_value.to_string())





